//
// Created by 刘昱杉2020 on 2023/5/24.
//

#ifndef CLION_TASK_H
#define CLION_TASK_H

#define WORK_STATE_LIST \
    X(INIT, "Initialization") \
    X(WATER_INPUT, "Water Input") \
    X(WATER_OUTPUT, "Water Output") \
    X(WASHING, "Washing") \
    X(RINSING, "Rinsing") \
    X(DRYING, "Drying") \
    X(_IDLE, "Idle")

#define WORK_MODE_LIST \
    X(START,"Start") \
    X(STANDARD, "Standard") \
    X(FAST, "Fast") \
    X(HEAVY, "Heavy") \
    X(SINGLE_DRY, "Single Dry") \
    X(CLEAN, "Clean")

typedef enum {
#define X(state, str) state,
    WORK_STATE_LIST
#undef X
} work_state;

typedef enum {
#define X(mode, str) mode,
    WORK_MODE_LIST
#undef X
} work_mode;




void Task_Init();
void Task_Perform();

#endif //CLION_TASK_H
